Operational Profiling of OS Drivers - Constantin Sârbu
نویسنده
چکیده
Operating Systems (OS's) constitute the operational core for computing devices. In order to facilitate their applicability to a variety of hardware platforms, OS's have evolved into complex componentized software entities whose key function is to provide applications access to the system resources. Fundamentally, the provided system services inherently depend on the stability of the underlying OS. Within the OS, the key components that dominate the cause of OS failures are the device drivers (DDs), precisely the OS parts designed to enhance the OS's support for hardware. Despite intensive efforts to elevate the DDs' robustness level by employing varied test paradigms, the existing testing approaches still exhibit very high failure rates. Hence, the central premise behind this thesis involves the characterization of the DD's operational profile, and using it for focusing subsequent testing to the functionality areas likely to be exercised over the DD deployment. This thesis develops two novel and distinct methodologies to capture and analyze the operational profile of DDs. The first – termed as the operational profile (OP) – is based on the characterization of the I/O traffic between a selected DD and the rest of the OS kernel. The second – termed execution path profile (EPP) – observes the functional calls made by the respective DD in the operational phase, thus revealing the code paths followed at runtime. Both presented approaches are directly applicable to DD binaries as they do not require source-code level access to any of the involved OS components. This thesis develops the concepts and methodology for effectively profiling the operational behavior of DDs. First, a state model is introduced for describing a DD and its complete state space. Experimentally, we show that the DD's operational state space (OSS) – the subset of states visited at runtime – represents only a small fraction of the total state space, thus highlighting the areas to be tested. Subsequently, occurrence-and duration-based quantifiers are defined for each of the DD states belonging to the OSS. This enables test prioritization and workload comparisons which are the key factors for testing. This conceptual process's effectiveness is tested using extensive case studies including over fifty Windows XP and Vista DDs. The developed EPP is complementary to the OP as it discovers execution hotspots as frequently traversed DD code paths. To highlight the execution hotspots, a DD monitoring and code path analysis methodology is presented and tested using actual Windows DD's. Code …
منابع مشابه
OS Driver Test Effort Reduction via Operational Profiling
Operating Systems (OS’s) constitute the operational core for computing devices, and consequently, the OS’s ability to sustain operations determines the dependability level of the provided system services. In order to facilitate their applicability to a variety of hardware platforms, OS’s have evolved into complex, componentized software entities whose key function is to provide applications acc...
متن کاملImproving Robustness Testing of COTS OS Extensions
Operating systems (OS) are increasingly geared towards support of diverse peripheral components, both hardware (HW) and software (SW), rather than explicitly focused on increased reliability of delivered OS services. The interface between the OS and the HW devices is provided by device drivers. Furthermore, drivers have become add-on COTS components to support the OS’s capabilities of widesprea...
متن کاملExecution Path Profiling for OS Device Drivers: Viability and Methodology
Operating Systems (OSs) mediate across the hardware and software applications, leading to overall system service provision, but often sacrifice service robustness while favoring increasing feature richness and peripheral support. The OS interface to peripherals is implemented by components termed as Device Drivers (DDs). Unfortunately, despite extensive testing, DDs continue to constitute the p...
متن کاملOn Building (and Sojourning) the State-space of Windows Device Drivers
An Operating System (OS) acts as a mediator between the hardware and software applications, providing for overall system services. However, with a tendency to support an ever increasing set of features and peripherals, the OS robustness emphasis often garners less attention. The OS interface to peripheral devices is implemented by specific SW components, termed as device drivers (DDs). Unfortun...
متن کاملBehavior-Driven Testing of Windows Device Drivers
Commercial-off-the-shelf operating systems (COTS OSs) increasingly favor adaptability to support diverse application and hardware peripherals in detriment to targeting robustness of OS services. The COTS OSs interface to hardware devices is provided by the device-drivers1. Furthermore, drivers have themselves become add-on COTS components, enhancing OS’s adaptability. Unfortunately, drivers con...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009